package edu.nf.ch10.demo1;

/**
 * @author CSY
 * @date 2025 - 04 - 17
 * 抽象处理器
 */
public abstract class AbstractHandler {
    /**
     * 定义下一个任务处理者
     */
    private AbstractHandler nextHandler;

    /**
     * 获取下一个任务处理者
     * @return
     */
    public AbstractHandler getNextHandler() {
        return nextHandler;
    }

    /**
     * 设置下一个任务处理者
     * @param nextHandler
     */
    public void setNextHandler(AbstractHandler nextHandler) {
        this.nextHandler = nextHandler;
    }

    /**
     * 抽象的审批行为，由不同的子节点作不同的实现
     * @param money 金额
     */
    public abstract void execute(int money);
}
